package com.hanj.common.exception;

/**
 * 错误码和错误信息定义类
 * <p>
 * 约定:
 * 1. 错误码为一串长度为 5 的数字
 * 2. 前两位表示业务场景，最后三位表示错误码。
 * 例如：100001
 * 其中的10:通用 001:系统未知异常
 * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 * 10: 通用
 * 11: 商品
 * 12: 订单
 * 13: 购物车
 * 14: 物流
 * 001:未知异常
 * 002:参数格式校验
 *
 * @author hanj.cn @outlook.com
 */
public enum BizCodeEnum {
    /**
     * Unknown exception biz code enum.
     */
    UNKNOWN_EXCEPTION(10001, "通用,系统未知异常"),

    /**
     * Valid exception biz code enum.
     */
    VALID_EXCEPTION(10002, "通用,参数格式校验异常");

    private final int code;
    private final String message;

    BizCodeEnum(int code, String message) {

        this.code = code;
        this.message = message;
    }

    /**
     * Gets code.
     *
     * @return the code
     */
    public int getCode() {

        return code;
    }

    /**
     * Gets message.
     *
     * @return the message
     */
    public String getMessage() {

        return message;
    }
}
